package com.altekis.kanbankaze.client.ui;

import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.event.shared.HasHandlers;

/**
 * A widget that implements this interface is a public source of
 * {@link StateChangeEvent} events.
 * 
 * @param <T>
 *            the value about to be changed
 */
public interface HasStateChangeHandlers extends HasHandlers {
	/**
	 * Adds a {@link StateChangeEvent} handler.
	 * 
	 * @param handler
	 *            the handler
	 * @return the registration for the event
	 */
	HandlerRegistration addStateChangeHandler(StateChangeHandler handler);
}
